# -*- coding: utf-8 -*-
"""
Created on Mon Aug 22 09:33:22 2022

@author: LE ROUX REMI
"""

# Importation des bibliothèques

import numpy as np

# Nombre de simulations

N = 1000000

# Données du problème

c = 0.1 # mol/L (concentration de la solution titrante)
uR = 0.1/100 # (incertitude-type relative sur c)

V0 = 20 # mL (volume titré, pipette)
p_pip = 0.02 # mL (précision de la pipette jaugée)

Veq = 20.10 # mL (volume équivalent, burette)
p_bur = 0.04 # mL (précision de la burette)
V_gte = 0.05 # mL (volume d’une goutte)

# Simulation des distributions de données

c_sim = np.random.normal(c,uR*c,N)
V0_sim = V0 + np.random.uniform(-p_pip,p_pip,N)
Veq_sim = Veq + np.random.uniform(-p_bur,p_bur,N) + np.random.uniform(-V_gte,V_gte,N)

c0_sim = c_sim*Veq_sim/V0_sim

c0 = np.average(c0_sim)
u_c0 = np.std(c0_sim, ddof=1)

print("c0moyen = ",c0,"mol/L")
print("u(c0) = ",u_c0,"mol/L")









